﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/FTS.STIS.VMS.VmsCenter.Models" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/FTS.STIS.VMS.VmsCenter.Models" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="VmsCommand">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Payloads" nillable="true" type="tns:ArrayOfVmsCommandPayload" />
      <xs:element minOccurs="0" name="VmsId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="VmsCommand" nillable="true" type="tns:VmsCommand" />
  <xs:complexType name="ArrayOfVmsCommandPayload">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="VmsCommandPayload" nillable="true" type="tns:VmsCommandPayload" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfVmsCommandPayload" nillable="true" type="tns:ArrayOfVmsCommandPayload" />
  <xs:complexType name="VmsCommandPayload">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="VmsCommandPayload" nillable="true" type="tns:VmsCommandPayload" />
  <xs:complexType name="VmsSystemCommandPayload">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:VmsCommandPayload">
        <xs:sequence>
          <xs:element minOccurs="0" name="Content" nillable="true" type="xs:base64Binary" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="VmsSystemCommandPayload" nillable="true" type="tns:VmsSystemCommandPayload" />
  <xs:complexType name="VmsControlCommandPayload">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:VmsCommandPayload">
        <xs:sequence>
          <xs:element minOccurs="0" name="LayoutId" type="xs:int" />
          <xs:element minOccurs="0" name="Playlist" nillable="true" type="tns:VmsPlaylist" />
          <xs:element minOccurs="0" name="PopupId" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="VmsControlCommandPayload" nillable="true" type="tns:VmsControlCommandPayload" />
  <xs:complexType name="VmsPlaylist">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Items" nillable="true" type="tns:ArrayOfVmsPlaylistItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="VmsPlaylist" nillable="true" type="tns:VmsPlaylist" />
  <xs:complexType name="ArrayOfVmsPlaylistItem">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="VmsPlaylistItem" nillable="true" type="tns:VmsPlaylistItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfVmsPlaylistItem" nillable="true" type="tns:ArrayOfVmsPlaylistItem" />
  <xs:complexType name="VmsPlaylistItem">
    <xs:sequence>
      <xs:element minOccurs="0" name="Duration" type="xs:int" />
      <xs:element minOccurs="0" name="Effect" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="VmsPlaylistItem" nillable="true" type="tns:VmsPlaylistItem" />
  <xs:complexType name="VmsTextPlaylistItem">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:VmsPlaylistItem">
        <xs:sequence>
          <xs:element minOccurs="0" name="Text" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="VmsTextPlaylistItem" nillable="true" type="tns:VmsTextPlaylistItem" />
  <xs:complexType name="VmsImagePlaylistItem">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:VmsPlaylistItem">
        <xs:sequence>
          <xs:element minOccurs="0" name="ImageID" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="VmsImagePlaylistItem" nillable="true" type="tns:VmsImagePlaylistItem" />
  <xs:complexType name="VmsControlCommand">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:VmsCommand">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="VmsControlCommand" nillable="true" type="tns:VmsControlCommand" />
  <xs:complexType name="VmsSystemCommand">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:VmsCommand">
        <xs:sequence>
          <xs:element minOccurs="0" name="CommandType" type="tns:VmsSystemCommandEnum" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="VmsSystemCommand" nillable="true" type="tns:VmsSystemCommand" />
  <xs:simpleType name="VmsSystemCommandEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="COMMAND_REBOOT" />
      <xs:enumeration value="COMMAND_CHECK_LED" />
      <xs:enumeration value="COMMAND_SCAN_LED" />
      <xs:enumeration value="COMMAND_CLEAR_SCREEN" />
      <xs:enumeration value="COMMAND_CAPTURE_SCREEN" />
      <xs:enumeration value="COMMAND_UPDATE_FIRMWARE" />
      <xs:enumeration value="COMMAND_UPDATE_FONT" />
      <xs:enumeration value="COMMAND_GET_INFO" />
      <xs:enumeration value="COMMAND_GET_STATUS" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="VmsSystemCommandEnum" nillable="true" type="tns:VmsSystemCommandEnum" />
  <xs:complexType name="VmsLayout">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="VmsLayout" nillable="true" type="tns:VmsLayout" />
</xs:schema>